home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / gem / l_1199 / 1007 < prev    next >
Internet Message Format  |  1994-08-27  |  5KB

  1. Date: Fri, 22 Jul 1994 19:47:23 -0400 (EDT)
  2. From: Timothy Miller <millert@undergrad.csee.usf.edu>
  3. Subject: Re: GEM apps, in general
  4. To: gem-list@world.std.com
  5. In-Reply-To: <m0qRFh5-0000daC@sdf.lonestar.org>
  6. Message-Id: <Pine.3.87.9407221922.E14466-0100000@grad>
  7. Mime-Version: 1.0
  8. Precedence: bulk
  9.  
  10. Warwick:
  11.  
  12. ]>       3. Everything that can be done with form_do() can be done
  13. ]>               in a window.
  14. ]
  15. ]Really? What about objc_edit() which can't clip to a rectangle list?
  16.  
  17. Clicking buttons and sliders in background windows is one thing, but 
  18. using editing fields is out of the question.  My application framework 
  19. library can handle key messages to background windows, but if the 
  20. developer wants to use it, he'll have to comment out some of my code.
  21.  
  22.  
  23. Flashman:
  24.  
  25. ]Sorry if I am sounding really dumb here. But how do you want the system
  26. ]to tell apart when the user wants to a) top a window or b) control one of
  27. ]its gadgets?
  28.  
  29. My library has flags that can be set that make the window any combination 
  30. of: diasabled, untoppable, backactive, and others that I have not 
  31. implemented yet.  If you want, say, a tool box, you make the window 
  32. backactive and untoppable.
  33.  
  34. If the window IS toppable and backactive, the current implementation will 
  35. top the window and select the button at the same time.
  36.  
  37. However, some have suggested that:  if something is selectable, act upon 
  38. it, but don't top.  If something is NOT selectable, then top the window.
  39.  
  40.  
  41. ]My concern is that you are now changing "previous" behavior. I know there
  42. ]are many good arguments about throwing out previous system behavior. But
  43. ]I also think you need to pay close attention to the benefits to
  44. ]maintaining previous system behavior.
  45.  
  46. Yes.  Trying to keep consistent with 'old-style' GEM behavior as much as 
  47. possible without letting it get too much in the way of progress is quire 
  48. desirable.  Many people will not appreciate being confused by a 
  49. user-interface that don't know how to use because the software developer 
  50. decided to throw 'normal' behavior out of the window.
  51.  
  52.  
  53. Forget:
  54.  
  55. ]may not be more desirable, but then again it might be.  I often shove
  56. ]the mouse out of the way when I'm typing.  If my output goes to the
  57. ]window the mouse is on, there is a pretty good change I'll knock it
  58. ]out.  Or perhaps the cat will jump on the computer table while I'm
  59. ]typing, or someone will bump into the table, or whatever.  The point is
  60. ]that this could be an annoying/dangerous practice.
  61.  
  62. Definately a dangerous practice.  Keys should only go to the top window.  
  63. Period.  Clicking in a background window can be confusing enough.
  64.  
  65.  
  66. Hollis:
  67.  
  68. ]> My solution was to temporarily increase its width by two.
  69. ]
  70. ]If that was the case do:
  71. ]
  72. ]x--; y--; w++; h++;
  73.  
  74. Actually, if you're going to do it that way, you STILL have to increase 
  75. the height and width by two, but I found that decreasing x and y really 
  76. screwed it up.  Increasing just the height and width by two works great.
  77.  
  78. I was discussing this with Warwick and then I noticed some example 
  79. dialogs for Lattice C for a CPX.  There was a vertical slider and it was 
  80. like this:
  81.  
  82.   The track had a width of 18, border ourside
  83.   The slider had a width of 20, border inside
  84.  
  85. This would work... except it would probably suffer from the same problem 
  86. I get when I DO decrease the x and y of the slider.
  87.  
  88.  
  89. Evan:
  90.  
  91. ]If the user clicks the mouse on a selectable and completely unobscured,
  92. ]visible object, then why not select it instead of topping the window?  Since
  93. ]there is a border area on most dialogs, you can use that to top it, and
  94. ]and partially obscured object can be used to top the window.  I know some
  95. ]of you are worried about not being to top a window - does the new condition
  96. ]or forcing the object to be completely visible satisfy your needs?
  97.  
  98. I really do not like this at all.  With the way GEM has worked in the 
  99. past, a user gets used to just clicking anywhere in a background window 
  100. to top it.  I don't want to accidentally select a button I didn't want to 
  101. select just because I didn't know that unobscured buttons would be selected.
  102.  
  103. I HATE the was Microsoft Windows passes mouse events to background 
  104. windows when you click to top them.  I like GEM much better.
  105.  
  106.  
  107.  
  108.  
  109. ]========================================================================
  110. ]Hey, whatever happened to our discussion of color-palette handling?  I
  111. ]especially likes my ideas.  :)  Could someone go back to those old
  112. ]messages and digest what was discussed?
  113. ]========================================================================
  114. ]
  115. ]What was your idea?
  116.  
  117. Uh... I forget.  :)
  118.  
  119. It was something along the lines of:  No program has to register with out 
  120. palette handling utility, although it could use facilities for MAKING 
  121. palettes.  Since WM_TOP messages are broadcast globally, our utility 
  122. would grab the current palette, assign it to the window that was just 
  123. untopped (it keeps track of the top window, so we don't need to worry 
  124. abouf WM_UNTOPPED messages), and then set up the palette that was 
  125. previously found to be active when the new window was last untopped.
  126.  
  127.  
  128.  
  129. If you don't do vector-grabbing, how do you expect programs to take over 
  130. things like BIOS console, inprove AES, etc?
  131.  
  132.  
  133.  
  134.